package database

import (
	"database/sql"
	"fmt"

	"github.com/yourusername/apijson-auth/config"

	_ "github.com/go-sql-driver/mysql"
)

var DB *sql.DB

// 初始化数据库连接
func InitDB() error {
	// 获取数据库配置信息
	cfg := config.AppConfig.DB
	// 构建数据库连接字符串
	dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?parseTime=true",
		cfg.Username, cfg.Password, cfg.Host, cfg.Port, cfg.Database)

	var err error
	// 打开数据库连接
	DB, err = sql.Open("mysql", dsn)
	if err != nil {
		// 如果打开数据库连接失败，返回错误信息
		return err
	}

	// 返回数据库连接的ping结果
	return DB.Ping()
}
